Techniques for a mixed audio conference

ABSTRACT

Techniques for a mixed audio conference are described. An apparatus may comprise an audio video multipoint control unit to mix call information from multiple call connections established over a packet-switched network for a conference call. The apparatus may comprise a telephony gateway communicatively coupled to the audio video multipoint control unit. The telephony gateway may establish a bridge connection with a conference bridge servicing a call connection over a circuit-switched network, the telephony gateway to translate call information from the call connection for use by the audio video multipoint control unit. Other embodiments are described and claimed.

BACKGROUND

Conventional conference calls are typically limited to managing callconnections over homogeneous networks. For example, all participants toa conventional audio conference call typically establish callconnections over a circuit-switched network, such as the Public SwitchedTelephone Network (PSTN). Similarly, with the recent adoption of VoiceOver Packet (VOP) or Voice Over Internet Protocol (VoIP) services(collectively referred to herein as “VoIP”), all participants to amultimedia conference typically establish call connections over apacket-switched network, such as the Internet. For a conference call toestablish and manage call connections over a circuit-switched networkand a packet-switched network, however, a participant generally needs tomanually establish a connection between two or more conference systems,assuming such capabilities even exist. This may entail locating andentering an additional set of dialing information, passcodes, and otherconnection information in a very limited amount of time. Suchtime-limited manual connection operations may be difficult, prone toerror, and time consuming for a conference coordinator.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Various embodiments may be generally directed to communications systems.Some embodiments may be particularly directed to communications systemcapable of providing conference call services. More specifically, someembodiments may be arranged to manage a conference call having callconnections established over mixed or heterogeneous networks, such as apacket-switched network and a circuit-switched network, for example.Typically such heterogeneous call connections need to be performedmanually if at all.

In one embodiment, for example, an apparatus may include an audio videomultipoint control unit to mix call information from multiple callconnections for a conference call. The apparatus may comprise atelephony gateway communicatively coupled to the audio video multipointcontrol unit. The telephony gateway may establish a bridge connectionwith a conference bridge servicing a call connection over acircuit-switched network, the telephony gateway to translate callinformation from the call connection for use by the audio videomultipoint control unit. In this manner, a conference chair or automatedsystem may control a conference call utilizing call connections fromdifferent types of networks. Other embodiments are described andclaimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one embodiment of an audio conference system.

FIG. 2 illustrates one embodiment of a logic flow.

FIG. 3 illustrates one embodiment of a message flow.

FIG. 4 illustrates one embodiment of a computing system architecture.

DETAILED DESCRIPTION

Various embodiments may comprise one or more elements. An element maycomprise any feature, characteristic, structure or operation describedin connection with an embodiment. Examples of elements may includehardware elements, software elements, physical elements, or anycombination thereof. Although an embodiment may be described with alimited number of elements in a certain arrangement by way of example,the embodiment may include more or less elements in alternatearrangements as desired for a given implementation. It is worthy to notethat any references to “one embodiment” or “an embodiment” or similarlanguage are not necessarily referring to the same embodiment.

Various embodiments may be directed to managing conference calls havingcall connections over mixed or heterogeneous networks. Variousembodiments utilize a telephony gateway to automatically join callconnections from different networks or conference systems, such ascircuit-switched networks and packet-switched networks. In oneembodiment, for example, an apparatus may include an audio videomultipoint control unit (AVMCU) to mix call information from multipleVoIP call connections. A conference having one or more call connectionsestablished over a packet-switched network such as the Internet may bereferred to herein as a “VoIP conference.” The VoIP conference call maycomprise either an audio conference call or a multimedia conference call(e.g., audio, video, text, and so forth), depending upon the type ofequipment available to the participants. The apparatus may include atelephony gateway to establish a bridge connection with a conferencebridge for a conference system managing a call connection over acircuit-switched network, such as the PSTN. A conference having one ormore call connections over a circuit-switched network such as the PSTNmay be referred to herein as a “PSTN conference.” The telephony gatewayand/or AVMCU may bridge, join, add or otherwise provide call informationfrom the PSTN conference to the VoIP conference call using the bridgeconnection. For example, the telephony gateway may translate callinformation from the circuit-switched signals received over acircuit-switched call connection to packet-switched signals for use bythe AVMCU. In this manner, a conference chair or automated system maycontrol a conference call utilizing call connections from differenttypes of networks, without having to manually join different conferencesystems, thereby providing relatively seamless integration between thedisparate systems.

FIG. 1 illustrates a block diagram of an audio conference system 100.The audio conference system 100 may represent any conference systemarranged to establish, process, communicate, or otherwise manage aconference call over a communications network. As shown in FIG. 1, oneembodiment of the audio conference system 100 may include multiple usersor operators 102-1-m having access to multiple client terminals or nodes104-1-n. The client nodes 104-1-n may communicate with an enterprisenetwork 110 and/or an audio conference provider (ACP) network 120. Theenterprise network 110 may comprise, for example, a VoIP conferencesystem arranged to provide VoIP conference services to one or more ofthe client nodes 104-1-n. The ACP network 120 may comprise, for example,a PSTN conference system arranged to provide PSTN conference services toone or more of the client nodes 104-1-n.

As shown in the illustrated embodiment, the client nodes 104-1, 104-2,104-3 may communicate with the enterprise network 110 via apacket-switched network 130. The operator 102-3 of the client node 104-3may use a device 106 to communicate with the ACP network 120 via acircuit-switched network 140. Examples of the networks 130, 140 mayinclude respectively the Internet and PSTN, although they are notnecessarily limited to such examples. The enterprise network 110 mayfurther comprise a conference focus 112, an AVMCU 114, an ACP gateway116 and a telephony gateway 118. The ACP network 120 may furthercomprise a conference bridge 122 and an ACP module 124. Although FIG. 1illustrates a limited number of elements in a given topology, it may beappreciated that a given implementation may include more or lesselements in a different topology as desired for a given set ofperformance or design constraints. The embodiments are not limited inthis context.

In various embodiments, the audio conference system 100 may include oneor more client nodes 104-1-n. The client nodes 104-1-n may comprise anyphysical or logical communication device capable of establishing a VoIPcall connection with the enterprise network 110 via the packet-switchednetwork 130. Examples of the client nodes 104-1-n may include withoutlimitation a digital telephone, a packet telephone, a VoIP telephone, acellular telephone with data communications capabilities, a computer, apersonal computer, a laptop computer, a handheld computer, a mobilecomputer, a server, a workstation, an appliance, a network appliance,and so forth. In one embodiment, for example, the client nodes 104-1-nmay comprise computers utilizing application software such as theMICROSOFT® OFFICE LIVE MEETING WINDOWS-BASED MEETING CONSOLE, made byMicrosoft Corporation, Redmond, Wash. MICROSOFT OFFICE LIVE MEETING is aweb conferencing service, and the client nodes 104-1-n having theinstalled client software are considered meeting consoles that canparticipate in a web conference or VoIP conference.

In various embodiments, the audio conference system 100 may include oneor more call devices 106. The call device 106 may comprise any physicalor logical device capable of establishing a PSTN call connection withthe ACP network 120. Examples of the call device 106 may include withoutlimitation a telephone, a call terminal, a plain old telephone service(POTS) telephone, a cordless telephone, an analog telephone, a cellulartelephone with voice communication capabilities. In one embodiment, forexample, the call device 106 may comprise a telephone capable ofcommunicating voice or audio information.

In various embodiments, the client nodes 104-1-n may be capable ofestablishing a VoIP conference call with the enterprise network 110using VoIP technologies. In one embodiment, for example, the nodes104-1-n and the enterprise network 110 may establish a VoIP conferencecall using a VoIP signaling protocol as defined and promulgated by theInternet Engineering Task Force (IETF) standards organization, such asthe Session Initiation Protocol (SIP) as defined by the IETF series RFC3261, 3265, 3853, 4320 and progeny, revisions and variants. In general,the SIP signaling protocol is an application-layer control and/orsignaling protocol for creating, modifying, and terminating sessionswith one or more participants. These sessions include IP telephonecalls, multimedia distribution, and multimedia conferences. In oneembodiment, for example, the nodes 104-1-n and the enterprise network110 may establish a VoIP conference call using a data or media formatprotocol, such as the Real-time Transport Protocol (RTP) and Real-timeTransport Control Protocol (RTCP) as defined by the IETF RFC 3550 andprogeny, revisions and variants. The RTP/RTCP standard defines a uniformor standardized packet format for delivering multimedia information(e.g., audio and video) over a packet-switched network, such as thepacket-switched network 130. Although some embodiments may utilize theSIP and RTP/RTCP protocols by way of example and not limitation, it maybe appreciated that other VoIP protocols may also be used as desired fora given implementation.

In various embodiments, the enterprise network 110 may include theconference focus 112. The conference focus 112 may comprise a conferenceserver arranged to establish a SIP conference with two or more of theclient nodes 104-1-n. In one embodiment, for example, the client nodes104-1-n and the conference focus 112 may be implemented as SIP useragents. The SIP user agents of the client nodes 104-1-n may beassociated with the SIP user agent of the conference focus 112 to form aSIP conference. The conference focus 112 has direct peer-wiserelationships with each of the client nodes 104-1-n by maintaining aseparate SIP dialog with each of the client nodes 104-1-n. In oneembodiment, for example, the conference focus 112 may be implementedusing a MICROSOFT OFFICE COMMUNICATIONS SERVER, and the client nodes104-1-n may be implemented as a MICROSOFT OFFICE COMMUNICATOR CLIENT,both made by Microsoft Corporation, Redmond, Wash.

In addition to the normal capabilities of a SIP user agent, the SIP useragent of the conference focus 112 has abilities to host SIP conferencesincluding their creation, maintenance, and manipulation using SIP callcontrol technologies and potentially other non-SIP technologies. In thistightly coupled model, the SIP conference graph is typically a startopology. The conference focus 112 maintains the correlation among theSIP dialogs internally. The conference focus 112 can be implementedeither by a participant or by a separate application server (as shown inFIG. 1). In the former case, a conference focus 112 is typically capableof hosting a simple ad hoc conference only using SIP call controlprimitives. In the latter case, a dedicated conference focus 112 asshown in FIG. 1, may offer richer functionality including simultaneousconferences, large scalable conferences, reserved conferences, andmanaged conferences. The media graph of a SIP conference can becentralized, decentralized, or any combination of both, and potentiallydiffer per media type. In the centralized case, the media sessions areestablished between the conference focus 112 and each one of theparticipants. In the de-centralized (e.g., distributed) case, the mediagraph is a multicast or multi-unicast mesh among the participants.Consequently, the media processing (e.g., mixing) can be performedeither by the conference server alone or by the participants. Conferenceparticipants and third parties can have different roles and privilegesin a certain conference. For example, conference policy can state thatthe rights to disconnect from and to invite to a conference are limitedto the conference chair only.

In one embodiment, for example, the enterprise network 110 may includethe AVMCU 114. The AVMCU 114 may comprise a device to mix callinformation from multiple VoIP call connections for a VoIP conferencecall. The AVMCU 114 is typically an endpoint on the enterprise network110 that provides the capability for two or more client nodes 104-1-nand gateways to participate in a multipoint conference. In variousimplementations, the AVMCU 114 may include, among other components, amandatory multipoint controller (MC) and optional multipoint processors(not shown).

In one embodiment, for example, the enterprise network 110 may includethe ACP gateway 116. The ACP gateway 116 may provide gateway servicesfor the ACP module 124 of the ACP network 120. For example, the ACPgateway 116 may communicate conference bridge connection information toautomatically establish a bridge connection between the networks 110,120 via the telephony gateway 118.

In one embodiment, for example, the enterprise network 110 may includethe telephony gateway 118. The telephony gateway 118 may comprise anyelectronic device arranged to provide an interface between the networks110, 120. In one embodiment, for example, the telephony gateway 118 maybe arranged to establish a bridge connection between the networks 110,120. For example, the telephony gateway 118 may have capabilities todial into a conference call hosted by the AVMCU 114 over the network 130and/or a conference call hosted by the conference bridge 122 over thenetwork 140. In this manner, the telephony gateway 118 may provide abridge between different conference systems, thereby providing both ofthe networks 110, 120 the capability of establishing and managing aconference call using mixed or heterogeneous call connectionsestablished over the different networks 130, 140, for example.

In various embodiments, the telephony gateway may be implemented invarious parts of the audio conference system 100. When implemented aspart of the enterprise network 110 as shown in FIG. 1, for example, thedial out operations may be initiated by the AVMCU 114 causing thetelephony gateway 118 to dial into the conference bridge 122. This maybe advantageous when attempting to provide a higher level of securityfor a given conference call. When implemented as part of the ACP network120, however, the dial out operations may be initiated by the conferencebridge 122 causing the telephony gateway 118 to dial into the AVMCU 114of the enterprise network 110, or alternatively another telephonygateway hosted by the enterprise network 110. Although some embodimentsdescribe bridging operations performed from the perspective of theenterprise network 110 by way of example and not limitation, it may beappreciated that similar bridging operations may be performed from theperspective of the ACP network 120. The embodiments are not limited inthis context.

In one embodiment, for example, the ACP network 120 may include theconference bridge 122 and the ACP module 124. The conference bridge 122may comprise an electronic device capable of establishing and managing aconference call over a circuit-switched network, such as the network140. The ACP module 124 may comprise an ACP application program tocontrol the conference call operations of the conference bridge 122.

In general operation, the audio conference system 100 may establish,facilitate, or otherwise manage conference calls having call connectionsover mixed or heterogeneous networks, such as networks 130, 140. Forexample, the operators 102-1, 102-2, 102-3 may use the respective clientnodes 104-1, 104-2, 104-3 to establish multiple Centralized ConferenceControl Protocol (CCCP) connections 108-2 with the conference focus 112to participate in or join a VoIP conference call. CCCP is a customprotocol in Microsoft Office Communications Server. CCCP is used for theexchange of the conference creation information and the control commandsbetween Microsoft Office Communicator clients and Microsoft OfficeCommunications Server. The client nodes 104-1, 104-2, 104-3 may alsoestablish multiple SIP connections 108-3 with the AVMCU 114 tocommunicate SIP control information, and multiple RTP/RTCP connections108-4 with the AVMCU 114 to communicate media information, includingvoice or audio information. At the same or later time, the operator102-3 of client node 104-3 may use a call terminal such as the calldevice 106 to establish a circuit-switched call connection 108-1 withthe conference bridge 122 over the circuit-switched network 140.

In various embodiments, the telephony gateway 118 may be used to jointhe call connections for the VoIP conference call managed by theenterprise network 110 and the call connections for the PSTN conferencecall managed by the ACP network 120. In one embodiment, the telephonygateway 118 may be used to establish a bridge connection between theconference bridge 122 of the ACP network 120 and the AVMCU 114 of theenterprise network 110. For example, the AVMCU 114 may establish a SIPconnection 108-3 and a RTP/RTCP connection 108-4 with the telephonygateway 118. In this manner, the telephony gateway 118 is also a SIPuser agent effectively treated as a participant in the SIP conferencemanaged by the enterprise network 110. The telephony gateway 118 mayalso establish a circuit-switched bridge connection 108-6 with theconference bridge 122 to join the PSTN conference call managed by theACP network 120. The operator 102-3 may communicate audio informationfrom the call terminal 106 to the conference bridge 122 over the circuitswitched call connection 108-1, and from the conference bridge 122 tothe telephony gateway 118 over the circuit switched bridge connection108-6. The telephony gateway 118 may receive the circuit-switchedsignals from the conference bridge 122, and convert, map or translatethe call information from the circuit-switched signals topacket-switched signals. The telephony gateway 118 may then communicatethe converted call information to the AVMCU 114 as packet-switchedsignals. For example, the telephony gateway 118 may communicate anyconverted call control signals via the SIP connection 108-3 (if needed)and any converted media information via the RTP/RTCP connection 108-4.The AVMCU 114 may then mix the converted call information from thetelephony gateway 118 with the call information received from the clientnodes 104-1, 104-2. In this manner, the operator 102-3 may join theaudio portion of the VoIP conference call managed by the enterprisenetwork 110 using the call device 106 even though it is incompatiblewith the VoIP technologies implemented by the enterprise network 110 andthe other participants in the VoIP conference call. The operator 102-3may participate in the other modalities of the VoIP conference call,such as video services and text services, using the client node 104-3.Accordingly, a conference chair or automated system may control ormanage a conference call utilizing call connections from different typesof networks 130, 140.

Operations for the audio conference system 100 may be further describedwith reference to one or more logic flows. It may be appreciated thatthe representative logic flows do not necessarily have to be executed inthe order presented, or in any particular order, unless otherwiseindicated. Moreover, various activities described with respect to thelogic flows can be executed in serial or parallel fashion. The logicflows may be implemented using one or more elements of the audioconference system 100 or alternative elements as desired for a given setof design and performance constraints.

FIG. 2 illustrates a logic flow 200. Logic flow 200 may berepresentative of the operations executed by one or more embodimentsdescribed herein. As shown in logic flow 200, the logic flow 200 mayestablish a conference call over a packet-switched network at block 202.The logic flow 200 may establish a bridge connection between a telephonygateway and a conference bridge servicing a call connection over acircuit-switched network at block 204. The logic flow 200 may convertcall information from the call connection for communication over thepacket-switched network at block 206. The embodiments are not limited inthis context.

In one embodiment, the logic flow 200 may establish a conference callover a packet-switched network at block 202. For example, the conferencefocus 112 and the AVMCU 114 may establish a VoIP conference call betweenthe client nodes 104-1, 104-2, 104-3. Assume the client node 104-3provides various meeting tools, such as whiteboard tools and videotools, but is not equipped with audio equipment such as a microphone andspeaker. Consequently, the operator 102-3 may be capable ofparticipating in the VoIP conference call to access some of the VoIPconference services via the client node 104-3, but may not be capable ofcommunicating audio information with the other participants (operators102-1, 102-2) in the conference using the client nodes 104-1, 104-2.Accordingly, the operator may establish a call connection 108-1 betweenthe call device 106 and the AVMCU 114 using the conference bridge 122and the telephony gateway 118 as previously described.

In one embodiment, the logic flow 200 may establish a bridge connectionbetween a telephony gateway and a conference bridge servicing a callconnection over a circuit-switched network at block 204. For example,once the call connection 108-1 over the circuit-switched network 140 hasbeen established between the call device 106 and the conference bridge122, a bridge connection 108-6 may be established between the telephonygateway 118 and the conference bridge 122. In some cases, the bridgeconnection 108-6 may be initiated by the telephony gateway 118, and inother cases the bridge connection 108-6 may be initiated by an elementof the ACP network 120, such as the ACP module 124, for example.

In one embodiment, the logic flow 200 may convert call information fromthe call connection for communication over the packet-switched networkat block 206. For example, once the bridge connection 108-6 has beenestablished between the telephony gateway 118 and the conference bridge122, the telephony gateway 118 may begin converting or translating thecall information communicated by the circuit-switched call connections108-1, 108-6 from a circuit-switched format to the packet-switchedformat used by the AVMCU 114. The call information may comprise, forexample, voice or audio information generated by the call device 106,which may be converted to media information for communication via theRTP/RTCP connection 108-4.

In various embodiments, the telephony gateway 118 may establish thebridge connection 108-6 with the conference bridge 122 using conferencebridge connection information. The conference bridge connectioninformation may comprise any information that enables the telephonygateway 118 to establish the bridge connection 108-6 with the conferencebridge 122, such as a conference bridge number, a post-dial string, aunique identifier, a password, an address, an access number, an accesscode, and so forth. The embodiments are not limited with regard to thetype of conference bridge connection information used for a givenimplementation, as long as it is commonly defined between devices.

In one embodiment, the conference bridge connection information maycomprise a conference bridge number to directly establish the bridgeconnection 108-6 with the conference bridge 122. For example, the ACPmodule 124 may establish or set up a special conference bridge number oraccess number suitable for automated clients. The special conferencebridge number may allow the telephony gateway 118 to enter the PSTNconference managed by the conference bridge 122 without having tonavigate any voice prompts typically provided by an interactive voiceresponse (IVR) system implemented for the ACP network 120. In thismanner, the telephony gateway 118 may dial into the conference bridge122 and automatically be allowed to join the PSTN conference managed bythe ACP network 120. This embodiment may require the ACP module 124 toprogram the conference bridge 122 with a special conference bridgenumber or access number corresponding to each regular conference bridgenumber used by the PSTN clients, or at least for those regularconference bridge numbers that are known to be used for mixed PSTN andVoIP conferences. In this case, the special conference bridge numberwill typically comprise a conference bridge number that is differentfrom the conference bridge number used by the client node 104-3 to jointhe conference call managed by the ACP network 120. In such cases, theACP network 120 could program the code (outside of the ACP module 124)to provision this entry point. The ACP network 120 can publish thisinformation to the rest of conferencing components via the ACP module124. Furthermore, the entry point may include the special phone numberand a post-dial DTMF sequence (post-dial string) in order toauthenticate the automated client that is dialing into the conferencebridge 122.

In one embodiment, for example, the conference bridge connectioninformation may comprise a conference bridge number and a post-dialstring to indirectly establish the bridge connection 108-6 with theconference bridge 122. In this case, the conference bridge number may bethe same or different conference bridge number as used by the clientnode 104-3 to join the conference call managed by the ACP network 120.The post-dial string may provide dialing information that allows thetelephony gateway 118 to navigate any voice prompts established by theIVR system. For example, the post-dial string may comprise a dual-tonemulti-frequency (DTMF) sequence used for telephone signaling over theline in the voice-frequency band to the conference bridge 122. Thepost-dial string may also include control information, commands orconference access information, such as a meeting identification passcode, response characters such as the pound (“#”) key or star (“*”) key,delay codes such as a sequence of commas or letters (“p”) to provideperiodic delays (e.g., 1 second pauses), and so forth. The delay codesmay be used, for example, to time responses to the IVR system prompts tocoincide with the pause intervals provided after the IVR system prompts.One advantage of this embodiment is that it does not require anymodifications to the ACP network 120.

A certain number of modifications may be made to the CCCP schema tosupport post-dial operations. For example, an existing endpoint schema(e.g., ms-ci.xsd) for CCCP may be modified to include a new element nameas follows:

<xs:element ref=”msci:post-dial” minOccurs=”0”/>The new “mcsi:post-dial: schema (e.g., ms-ci-ext.xsd) may comprise thefollowing:

<xs:element name=“post-dial” type=“xs:string”/>An example of usage for the post-dial feature is as follows:

<request ... >  <addUser>   <conferenceKeys ... />   <user ... >   <endpoint entity=”sip:+1-8005551212@csp.com”>    <joining-method>dialed-out</joining-method>    <post-dial>pppppp123456#pppppp#</post-dial>    </endpoint>   </user> </addUser> </request>

In one embodiment, the type of the “post-dial” element may be a string.In on embodiment, for example, the format and structure of the post-dialstring may conform to the IEEE RFC 3601. For PSTN integration, someembodiments will typically use a subset of allowed characters, includingthe numeric digits 0 through 9, the pound (#) sign, the star (*) symbol,and a “p” for a one second pause. In some cases, the “post-dial” stringmay also include any separator characters (e.g., “-” or “.”), a “w” fora “wait until tone,” or special DTMF tones “A” through “D.”

For each DTMF element that produces a tone (e.g., the digits, #, and *,but not “p”), the tone should be produced for an amount of time thatenables the receiving end to recognize the tone, and tones should beseparated by enough silence time to enable the receiving end todistinguish them. For example, the IEEE RFC 2833 indicates that DTMFdigit recognition may take several tens of milliseconds (ms). Tonelengths may vary from 50 ms to 250 ms, and the separation silence variesfrom 350 ms to 600 ms. The exact tone and pause lengths may bedetermined for a given implementation of the ACP network 120.

FIG. 3 illustrates one embodiment of a message flow 300. The messageflow 300 may be representative of a message flow between variouselements of the audio conference system 100. As shown in FIG. 3, themessage flow 300 illustrates the client nodes 104-1, 104-2, 104-3establishing call connections 108-2 with the conference focus 112, andcall connections 108-3, 108-4 with the AVMCU 114, via thepacket-switched network 130 as represented by messages 302 a, 302 b. Thecall device 106 establishes a call connection 108-1 with the conferencebridge 122 via the circuit-switched network 140 as represented by amessage 304. The conference bridge 122 informs the ACP module 124 of thecall connection 108-1 as represented by a message 306.

The ACP module 124 may publish the conference bridge connectioninformation for the telephony gateway 118 via the ACP gateway 116 asrepresented by a message 308. The ACP gateway 116 may send the publishedconference bridge connection information to the conference focus 112 asrepresented by a message 310. For example, the ACP module 124 maypublish a conference bridge number and/or a post-dial string in theshared_data section of a conference document. The shared_data section ofthe conference document may be filtered out by the conference focus 112before propagating it to the clients. The ACP module 124 will publish tothe client whether it has posted conference bridge connectioninformation in the shared_data section. In one embodiment, for example,the conference bridge number may comprise a telephone number in theE.164 format that the telephony gateway 118 needs to dial to get intothe ACP phone conference. In one embodiment, for example, the post-dialstring may include the DTMF sequence to dial once the phone call isconnected to the conference bridge number.

When the conference bridge connection information for the ACP network120 is available to the enterprise network 110, the bridging operationscan be initiated at the appropriate time. For example, the bridgingoperations can be initiated when both the VoIP conference and the PSTNconference are activated and are mixing voice. The timing of thebridging can also be controlled explicitly by a conference chair (e.g.,the operator 102-1) using the client node 104-1-n (e.g., the client node104-1). For example, assume the operator 102-1 comprises a conferencechair for the VoIP conference, and the operator 102-1 uses the clientnode 104-1 to initiate bridging operations for the VoIP conference andthe ACP conference at the designated time by issuing a new link-pstnrequest to the AVMCU 114 as represented by a message 312. In someembodiments, the link-pstn request may optionally include the conferencebridge connection information. To reset the VoIP/ACP bridging (thebridge connection 108-6), the client node 104-1 may issue an unlink-pstnrequest. The appropriate time will be determined by the conference chairbased on other conference state information, such as when the followingconditions become true: (1) an ACP conference is active (e.g., it ismixing audio); and (2) an AVMCU conference is active and has at leastone participant.

On receiving the link-pstn request, and when the conference bridgeconnection information is not included in the link-pstn request, theAVMCU 114 will query the conference shared_state for the conferencebridge connection information. The AVMCU 114 can get access to theconference state in several ways, as represented by messages 314, 316.For example, the AVMCU 114 may send a getConference request to theconference focus 112 on receiving the link-pstn request. In anotherexample, the AVMCU 114 may subscribe for conference notifications on aconference bootstrap. In yet another example, the AVMCU 114 may send agetSharedData request to the conference focus 112 on receiving thelink-pstn request. The AVMCU 114 will signal with the telephony gateway118 to cause the telephony gateway 118 to dial into the ACP conferencebased on the conference bridge connection information provided in arequest or by the ACP module 124 as represented by a message 318. Thetelephony gateway 118 will dial into the conference bridge 122 using theconference bridge connection information as represented by a message320, thereby creating the bridge connection 108-6 directly between thenetworks 110, 120 and indirectly between the networks 130, 140. Thelink-pstn state (e.g., active or inactive) will be reflected in theentity-state for the AVMCU 114. It is worthy to note that this shouldnot cause any updates to the roster. In this case, the SIP session withthe telephony gateway 118 should not be treated as a user. If the ACPnetwork 120 can identify the telephony gateway 118 based on the providedconference bridge connection information, then it will mark the userwith the pstn_gw element.

FIG. 4 illustrates a block diagram of a computing system architecture400 suitable for implementing various embodiments, including the audioconference system 100. It may be appreciated that the computing systemarchitecture 400 is only one example of a suitable computing environmentand is not intended to suggest any limitation as to the scope of use orfunctionality of the embodiments. Neither should the computing systemarchitecture 400 be interpreted as having any dependency or requirementrelating to any one or combination of components illustrated in theexemplary computing system architecture 400.

Various embodiments may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include any softwareelement arranged to perform particular operations or implementparticular abstract data types. Some embodiments may also be practicedin distributed computing environments where operations are performed byone or more remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote computer storage mediaincluding memory storage devices.

As shown in FIG. 4, the computing system architecture 400 includes ageneral purpose computing device such as a computer 410. The computer410 may include various components typically found in a computer orprocessing system. Some illustrative components of computer 410 mayinclude, but are not limited to, a processing unit 420 and a memory unit430.

In one embodiment, for example, the computer 410 may include one or moreprocessing units 420. A processing unit 420 may comprise any hardwareelement or software element arranged to process information or data.Some examples of the processing unit 420 may include, withoutlimitation, a complex instruction set computer (CISC) microprocessor, areduced instruction set computing (RISC) microprocessor, a very longinstruction word (VLIW) microprocessor, a processor implementing acombination of instruction sets, or other processor device. In oneembodiment, for example, the processing unit 420 may be implemented as ageneral purpose processor. Alternatively, the processing unit 420 may beimplemented as a dedicated processor, such as a controller,microcontroller, embedded processor, a digital signal processor (DSP), anetwork processor, a media processor, an input/output (I/O) processor, amedia access control (MAC) processor, a radio baseband processor, afield programmable gate array (FPGA), a programmable logic device (PLD),an application specific integrated circuit (ASIC), and so forth. Theembodiments are not limited in this context.

In one embodiment, for example, the computer 410 may include one or morememory units 430 coupled to the processing unit 420. A memory unit 430may be any hardware element arranged to store information or data. Someexamples of memory units may include, without limitation, random-accessmemory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM),synchronous DRAM (SDRAM), static RAM (SRAM), read-only memory (ROM),programmable ROM (PROM), erasable programmable ROM (EPROM), EEPROM,Compact Disk ROM (CD-ROM), Compact Disk Recordable (CD-R), Compact DiskRewriteable (CD-RW), flash memory (e.g., NOR or NAND flash memory),content addressable memory (CAM), polymer memory (e.g., ferroelectricpolymer memory), phase-change memory (e.g., ovonic memory),ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS)memory, disk (e.g., floppy disk, hard drive, optical disk, magneticdisk, magneto-optical disk), or card (e.g., magnetic card, opticalcard), tape, cassette, or any other medium which can be used to storethe desired information and which can accessed by computer 410. Theembodiments are not limited in this context.

In one embodiment, for example, the computer 410 may include a systembus 421 that couples various system components including the memory unit430 to the processing unit 420. A system bus 421 may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, Peripheral ComponentInterconnect (PCI) bus also known as Mezzanine bus, and so forth. Theembodiments are not limited in this context.

In various embodiments, the computer 410 may include various types ofstorage media. Storage media may represent any storage media capable ofstoring data or information, such as volatile or non-volatile memory,removable or non-removable memory, erasable or non-erasable memory,writeable or re-writeable memory, and so forth. Storage media mayinclude two general types, including computer readable media orcommunication media. Computer readable media may include storage mediaadapted for reading and writing to a computing system, such as thecomputing system architecture 400. Examples of computer readable mediafor computing system architecture 400 may include, but are not limitedto, volatile and/or nonvolatile memory such as ROM 431 and RAM 432.Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, radio-frequency (RF) spectrum, infrared and other wirelessmedia. Combinations of the any of the above should also be includedwithin the scope of computer readable media.

In various embodiments, the memory unit 430 includes computer storagemedia in the form of volatile and/or nonvolatile memory such as ROM 431and RAM 432. A basic input/output system 433 (BIOS), containing thebasic routines that help to transfer information between elements withincomputer 410, such as during start-up, is typically stored in ROM 431.RAM 432 typically contains data and/or program modules that areimmediately accessible to and/or presently being operated on byprocessing unit 420. By way of example, and not limitation, FIG. 4illustrates operating system 434, application programs 435, otherprogram modules 436, and program data 437.

The computer 410 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 4 illustrates a hard disk drive 440 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 451that reads from or writes to a removable, nonvolatile magnetic disk 452,and an optical disk drive 455 that reads from or writes to a removable,nonvolatile optical disk 456 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 441 is typically connectedto the system bus 421 through a non-removable memory interface such asinterface 440, and magnetic disk drive 451 and optical disk drive 455are typically connected to the system bus 421 by a removable memoryinterface, such as interface 450.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 4, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 410. In FIG. 4, for example, hard disk drive 441 is illustratedas storing operating system 444, application programs 445, other programmodules 446, and program data 447. Note that these components can eitherbe the same as or different from operating system 434, applicationprograms 435, other program modules 436, and program data 437. Operatingsystem 444, application programs 445, other program modules 446, andprogram data 447 are given different numbers here to illustrate that, ata minimum, they are different copies. A user may enter commands andinformation into the computer 410 through input devices such as akeyboard 462 and pointing device 461, commonly referred to as a mouse,trackball or touch pad. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit420 through a user input interface 460 that is coupled to the systembus, but may be connected by other interface and bus structures, such asa parallel port, game port or a universal serial bus (USB). A monitor484 or other type of display device is also connected to the system bus421 via an interface, such as a video interface 482. In addition to themonitor 484, computers may also include other peripheral output devicessuch as speakers 487 and printer 486, which may be connected through anoutput peripheral interface 483.

The computer 410 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer480. The remote computer 480 may be a personal computer (PC), a server,a router, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 410, although only a memory storage device 481 has beenillustrated in FIG. 4 for clarity. The logical connections depicted inFIG. 4 include a local area network (LAN) 471 and a wide area network(WAN) 473, but may also include other networks. Such networkingenvironments are commonplace in offices, enterprise-wide computernetworks, intranets and the Internet.

When used in a LAN networking environment, the computer 410 is connectedto the LAN 471 through a network interface or adapter 470. When used ina WAN networking environment, the computer 410 typically includes amodem 472 or other technique suitable for establishing communicationsover the WAN 473, such as the Internet. The modem 472, which may beinternal or external, may be connected to the system bus 421 via theuser input interface 460, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 410, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 4 illustrates remoteapplication programs 485 as residing on memory device 481. It will beappreciated that the network connections shown are exemplary and othertechniques for establishing a communications link between the computersmay be used. Further, the network connections may be implemented aswired or wireless connections. In the latter case, the computing systemarchitecture 400 may be modified with various elements suitable forwireless communications, such as one or more antennas, transmitters,receivers, transceivers, radios, amplifiers, filters, communicationsinterfaces, and other wireless elements. A wireless communication systemcommunicates information or data over a wireless communication medium,such as one or more portions or bands of RF spectrum, for example. Theembodiments are not limited in this context.

Some or all of the audio conference system 100 and/or computing systemarchitecture 400 may be implemented as a part, component or sub-systemof an electronic device. Examples of electronic devices may include,without limitation, a processing system, computer, server, work station,appliance, terminal, personal computer, laptop, ultra-laptop, handheldcomputer, minicomputer, mainframe computer, distributed computingsystem, multiprocessor systems, processor-based systems, consumerelectronics, programmable consumer electronics, personal digitalassistant, television, digital television, set top box, telephone,mobile telephone, cellular telephone, handset, wireless access point,base station, subscriber station, mobile subscriber center, radionetwork controller, router, hub, gateway, bridge, switch, machine, orcombination thereof. The embodiments are not limited in this context.

In some cases, various embodiments may be implemented as an article ofmanufacture. The article of manufacture may include a storage mediumarranged to store logic and/or data for performing various operations ofone or more embodiments. Examples of storage media may include, withoutlimitation, those examples as previously described. In variousembodiments, for example, the article of manufacture may comprise amagnetic disk, optical disk, flash memory or firmware containingcomputer program instructions suitable for execution by a generalpurpose processor or application specific processor. The embodiments,however, are not limited in this context.

Various embodiments may be implemented using hardware elements, softwareelements, or a combination of both. Examples of hardware elements mayinclude any of the examples as previously provided for a logic device,and further including microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, logic gates, registers, semiconductor device, chips,microchips, chip sets, and so forth. Examples of software elements mayinclude software components, programs, applications, computer programs,application programs, system programs, machine programs, operatingsystem software, middleware, firmware, software modules, routines,subroutines, functions, methods, procedures, software interfaces,application program interfaces (API), instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof. Determining whether an embodimentis implemented using hardware elements and/or software elements may varyin accordance with any number of factors, such as desired computationalrate, power levels, heat tolerances, processing cycle budget, input datarates, output data rates, memory resources, data bus speeds and otherdesign or performance constraints, as desired for a givenimplementation.

As used herein the term “module” may include any structure implementedusing hardware elements, software elements, or a combination of hardwareand software elements. In one embodiment, for example, the modulesdescribed herein are typically implemented as software elements storedin memory and executed by a processor to perform certain definedoperations. Although some embodiments show a limited number of modules,it may be appreciated that some or all of the defined operations may beimplemented using more or less modules as desired for a givenimplementation. Furthermore, although some embodiments are describedusing software elements stored by memory for execution by a processor,it may be appreciated that some or all of the defined operations may beimplemented using hardware elements based on various design andperformance constraints. The embodiments are not limited in thiscontext.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. These terms are notnecessarily intended as synonyms for each other. For example, someembodiments may be described using the terms “connected” and/or“coupled” to indicate that two or more elements are in direct physicalor electrical contact with each other. The term “coupled,” however, mayalso mean that two or more elements are not in direct contact with eachother, but yet still co-operate or interact with each other.

It is emphasized that the Abstract of the Disclosure is provided tocomply with 37 C.F.R. Section 1.72(b), requiring an abstract that willallow the reader to quickly ascertain the nature of the technicaldisclosure. It is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, it can be seen thatvarious features are grouped together in a single embodiment for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted as reflecting an intention that the claimedembodiments require more features than are expressly recited in eachclaim. Rather, as the following claims reflect, inventive subject matterlies in less than all features of a single disclosed embodiment. Thusthe following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separateembodiment. In the appended claims, the terms “including” and “in which”are used as the plain-English equivalents of the respective terms“comprising” and “wherein,” respectively. Moreover, the terms “first,”“second,” “third,” and so forth, are used merely as labels, and are notintended to impose numerical requirements on their objects.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

The invention claimed is:
 1. A computer-implemented method performed onat least one processing unit, comprising: establishing a conference callhaving a call connection to an enterprise network over a packet-switchednetwork; establishing a bridge connection, via a telephony gateway in anaudio conference provider network that is servicing the call connectionover a circuit-switched network, between the enterprise network and aconference bridge in the audio conference provider network, by dialingout from the telephony gateway to an audio video multipoint control unitin the enterprise network; and converting call information from the callconnection for communication over the packet-switched network to theconference call.
 2. The method of claim 1, comprising receivingconference bridge connection information by the telephony gateway toestablish the bridge connection.
 3. The method of claim 1, comprisingreceiving conference bridge connection information by the telephonygateway comprising a conference bridge number to directly establish thebridge connection.
 4. The method of claim 1, comprising receivingconference bridge connection information by the telephony gatewaycomprising a conference bridge number and a post-dial string toindirectly establish the bridge connection.
 5. The method of claim 1,comprising receiving a link message from a conference chair by an audiovideo multipoint control unit to establish the bridge connection.
 6. Themethod of claim 1, comprising sending a get conference message from anaudio video multipoint control unit to a conference focus to retrieveconference bridge connection information.
 7. The method of claim 1,comprising sending a link message with conference bridge connectioninformation from an audio video multipoint control unit to the telephonygateway to establish the bridge connection.
 8. The method of claim 1,comprising receiving a link message with conference bridge connectioninformation from an audio video multipoint control unit by the telephonygateway to establish the bridge connection.
 9. An article of manufacturecomprising a computer hardware storage medium containing instructionsthat if executed enable a system to: establish a conference call havinga call connection to an enterprise network over a packet-switchednetwork; establish a bridge connection, via a telephony gateway in anaudio conference provider network that is servicing the call connectionover a circuit-switched network, between the enterprise network and aconference bridge in the audio conference provider network, by dialingout from the telephony gateway to an audio video multipoint control unitin the enterprise network; and bridge the call connection from thecircuit-switched network to the conference call over the packet-switchednetwork using the bridge connection to the conference call.
 10. Thearticle of claim 9, further comprising instructions that if executedenable the system to receive conference bridge connection information bythe telephony gateway to establish the bridge connection.
 11. Thearticle of claim 9, further comprising instructions that if executedenable the system to receive conference bridge connection information bythe telephony gateway comprising a conference bridge number to directlyestablish the bridge connection.
 12. The article of claim 9, furthercomprising instructions that if executed enable the system to receiveconference bridge connection information by the telephony gatewaycomprising a conference bridge number and a post-dial string toindirectly establish the bridge connection.
 13. The article of claim 9,further comprising instructions that if executed enable the system to:receive a link message from a conference chair by an audio videomultipoint control unit to establish the bridge connection; send a getconference message from the audio video multipoint control unit to aconference focus to retrieve conference bridge connection information;and send a link message with conference bridge connection informationfrom the audio video multipoint control unit to the telephony gateway toestablish the bridge connection.
 14. The article of claim 9, furthercomprising instructions that if executed enable the system to receiveconference bridge connection information from an audio conferenceprovider by a conference focus.
 15. The article of claim 9, furthercomprising instructions that if executed enable the system to sendconference bridge connection information from a conference focus to anaudio video multipoint control unit in response to a get conferencemessage.
 16. An apparatus, comprising: an audio video multipoint controlunit in an enterprise network to mix call information from multiple callconnections established over a packet-switched network for a conferencecall and to be dialed into by a telephony gateway in an audio conferenceprovider network that is servicing a call connection over acircuit-switched network, to establish a bridge connection between theaudio video multipoint control unit and a conference bridge in the audioconference provider network, the telephony gateway to translate callinformation from the call connection for use by the audio videomultipoint control unit in the conference call.
 17. The apparatus ofclaim 16, comprising a conference focus communicatively coupled to theaudio video multipoint control unit, the conference focus to establishthe conference call over the packet-switched network.
 18. The apparatusof claim 16, the packet-switched network comprising a network capable ofcommunicating control information using a session initiation protocoland media information using a real-time transport protocol.
 19. Theapparatus of claim 16, comprising an audio conference provider gatewayto send conference bridge connection information to a conference focus,the conference focus to send the conference bridge connectioninformation to the telephony gateway.
 20. The apparatus of claim 16,comprising an audio conference provider gateway to send conferencebridge connection information to a conference focus, the conferencefocus to send the conference bridge connection information to thetelephony gateway via the audio video multipoint control unit.